﻿using System;
using System.Collections.Generic;
using EzDesk.EzAppApi.Utility.EzDeskAppApi;
namespace EzDesk.EzAppApi.Utility
{
    public interface IEzApiClient
    {
        IList<Dept> GetAllDepts();
        IList<Group> GetAllSystemGroups();
        IList<SimpleUser> GetAllUsersByMemberString(string memberString);
        IDictionary<Guid, string> GetChildrenByMemberString(string memberString);
        Dept GetDeptById(Guid id);
        Group GetGroupById(Guid groupId);
        Group GetGroupByMemberstring(string memberstring);
        IList<Group> GetGroups(string groupIdStrs);
        SimpleUser GetSimpleUserById(Guid userId);
        IList<SimpleUser> GetSimpleUserInfos(string memberstring);
        UserProfile GetUserProfileById(Guid userId);
        Guid SendFeed(string feedTypeStr, Guid templateId, Guid? senderId, string feedData, string memberString, bool sendToSelf);
        void SetFeedIsAvailable(Guid feedId, string memberString, bool isAvailable);
        void SetFeedsIsAvailable(string feedIdStrs, string memberstring, bool isAvailable);
        void UpdateFeedData(Guid updateFeedId, string newFeedData);
        void UpdateFeedsData(string feedIdsStr, string updateDataStr);
        void UpdatePersonalFeedData(Guid feedId, string memberstring, string feedDataEx);
    }
}
